組態(tài)軟件編程中對AIBUS通訊協(xié)議的理解
關(guān)鍵詞:AIBUS通訊協(xié)議、組態(tài)軟件
一、 通訊協(xié)議的正確理解
AIBUS協(xié)議及快速通訊:
早在1994年宇電推出的基于RS485通訊接口的AIBUS通訊協(xié)議,簡單高效又功能齊全。目前的產(chǎn)品在RS485通訊19200波特率下,平均每臺儀表讀取3個常用變量及1個參數(shù)的速度僅20ms,是常用如MODBUS協(xié)議的進口儀表的3-10倍以上,利用采用AIBUS協(xié)議的AI系列儀表組建FCS結(jié)構(gòu)的計算機監(jiān)控系統(tǒng),每個串口連接50臺儀表仍能獲得滿意的數(shù)據(jù)刷新率,加上多串口及多機連網(wǎng),無論組建小系統(tǒng)還是大、中型系統(tǒng)均可達到與DCS同等使用效果。
采用AIBUS協(xié)議的AI儀表在9600波特率下能在40ms內(nèi)向上位機傳送4個重要數(shù)據(jù),比采用MODBUS協(xié)議的進口儀表速度高3-10倍以上,因此即使采用廉價的RS485通訊,AIFCS也具備如DCS或FF、PROFIDBUS等高價現(xiàn)場總線系統(tǒng)同等的使用效果,并可以組建大型系統(tǒng),而不象通常進口儀表那樣只能應用于小型系統(tǒng)。RS485不僅價格低,還具備布線簡單、對通訊線要求低及通訊距離長等優(yōu)點。
AI系列儀表使用異步串行通訊接口,接口電平符合RS232C或RS485標準中的規(guī)定。數(shù)據(jù)格式1個起始位,8位數(shù)據(jù),無校驗位,1個或2個停止位。通訊傳輸數(shù)據(jù)的波特率可調(diào)為4800~19200 bit/S,通常用9600 bit/S,單一通訊口所連接儀表數(shù)量大于40臺或需要更快刷新率時,推薦用19200bit/S,當通訊距離很長或通訊不可靠常中斷時,可選4800bit/S。AI儀表采用多機通訊協(xié)議,采用RS485通訊接口,則可將1~80臺的儀表同時連接在一個通訊接口上。串口調(diào)試設(shè)置如下圖:
根據(jù)宇電AIBUS通訊協(xié)議,AI儀表采用16進制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù)。AI儀表軟件通訊指令經(jīng)過優(yōu)化設(shè)計,標準的通訊指令只有兩條,一條為讀指令,一條為寫指令.以AI-808P為例利用此串口通訊工具與其通訊,當要讀儀表的設(shè)定值時,發(fā)送8個字節(jié)分別是:
即要發(fā)送的8個字節(jié)分別是81H 81H 52H 00H 00H 00H 53H 00H 儀表中的地址ADDR=1,00H是儀表的參數(shù)代號表示AI-808P的STEP程序段,53H 00H是校驗碼,采用16位求和校驗方式,讀指令的校驗碼計算方法為:要讀的參數(shù)代號*256+82+ADDR(10進制算法)這里是0*256+82+1=83轉(zhuǎn)換為16進制就是53H為校驗碼的低字節(jié),00H是高字節(jié),在發(fā)送的時候要倒置.
AI系列的儀表通訊協(xié)議中沒有說明測量值是哪一個參數(shù)代號,而是無論執(zhí)行讀/寫指令后,儀表都會自動返回以下10個字節(jié)的數(shù)據(jù):
例如我要讀取某一臺儀表的PV值,只要執(zhí)行該儀表對應通訊協(xié)議中任意一個參數(shù)代號就可以有PV值返回,如圖2以讀取00H(給定值)這個參數(shù)代號為例:
圖2中40H 02H為返回的測量值高位在前,低位在后,讀取的時候要倒置(其他數(shù)據(jù)讀取時也是如此),也就是0240H,轉(zhuǎn)換成10進制就是57。6,有帶一位小數(shù)點。由于是讀00H這個參數(shù)代號的值,就是第7、8個這字節(jié)的數(shù)據(jù),也就是01H在此例中儀表執(zhí)行在第一段。
如果是寫參數(shù),則發(fā)送以下8個字節(jié):
舉寫(T01)1BH這個參數(shù)代號為例,寫入數(shù)為-1時,則要發(fā)送的8個字節(jié)是81H 81H 43H 1BH FFH FFH 43H 1BH如下圖:
寫指令的校驗碼計算方法為以下公式做16位二進制加法計算得出的余數(shù)(溢出部分不處理):要寫的參數(shù)代號×256+67+要寫的參數(shù)值+ADDR,若是要寫入負值時,則應當把負值轉(zhuǎn)換成補碼在轉(zhuǎn)換成10進制,算出的值減去65536換成16進制發(fā)送,所以要寫入-1時,57(1BH)*256+65535+1-65536=6979(1B43H)發(fā)送時要倒置。返回來的10個字節(jié)的數(shù)據(jù)中FFFF就是所寫的參數(shù)值-1。
對于AI系列儀表,不論是讀/寫任可一個參數(shù)都是用這兩條指令,編寫容易能完整的對儀表進行操作。二、AI-808PAK5S型儀表的程序通訊與MCGS組態(tài)軟件編寫內(nèi)容:
與MCGS組態(tài)軟件通訊時,選擇宇光系列智能儀表的驅(qū)動,由于軟件中能設(shè)置的參數(shù)的代號只到19H,所以對于宇電程序型儀表只能通過編寫內(nèi)部函數(shù)來實現(xiàn)讀寫1AH這個參數(shù)代號以后的參數(shù),實現(xiàn)的方法;
①:要先在實時數(shù)據(jù)庫中建立好要讀的變量,如C01、T01……等以C01~T02為例,變量類型為數(shù)值型。
②:建立好后則進入運行策略進行策略組態(tài),新建策略為循環(huán)策略或用戶策略,進入編寫腳本程序如下圖3,是讀以下參數(shù)的命令!setDevice(設(shè)備0,6,“read(26,1,C01)”),
意思是把26中這個參數(shù)代號中的數(shù)據(jù)讀到C01這個變量中;
③:寫參數(shù)的命令與讀是一樣的如,!SetDevice(設(shè)備0,6,“write(26,1,C01)”):寫數(shù)據(jù)應當建立的設(shè)備命令為用戶策略(不能用循環(huán)策略),如下圖4:
④:為了能在運行畫面中隨時寫入?yún)?shù)代號26以后的數(shù)值,應當在實時數(shù)據(jù)庫中建立與之前變量同等個數(shù)的變量,如下圖5;
⑤:在組態(tài)動畫窗口中,設(shè)置屬性時輸入與輸出時不能為同一個變量,應當設(shè)置為與之對應的一個,如C01對應sdc01……,做一個按鈕屬性設(shè)置為執(zhí)行運得策略塊,在腳本程序中寫C01=sdc01如下圖6:
則在運行畫面中要設(shè)定某一值時都需點擊這個按鈕。
三、AI-3011開關(guān)量狀態(tài)在MCGS組態(tài)軟件上的讀?。?/strong>
執(zhí)行讀指令,儀表模塊上的開關(guān)量狀態(tài)按D0D1D2D3D4D5D6D7D8D9的順序,由低到高按二進制碼順序排列在參數(shù)編號R10中,它的數(shù)據(jù)低10位(D0-D9)表示對應的開關(guān)量狀態(tài)。舉例MCGS中的操作。
①:開關(guān)量狀態(tài)讀?。簝x表的驅(qū)動選宇光系列智能儀表,表類型選擇AI-708,在設(shè)備內(nèi)部屬性中讀寫SC這個參數(shù)就可了,操作方式為讀寫,小數(shù)點位置固定為0。開關(guān)量的狀態(tài)D0~D9在MCGS中是用10進制數(shù)表示的,例如以上各位均無繼電器輸出或外部開關(guān)量斷開時,SC中的參數(shù)值為0(二進制:0000000000000000)全部動作或外部開關(guān)接通時,SC參數(shù)值為1023(0000001111111111);例如:當D1、D2接通,其余斷開時,SC參數(shù)值為6(二進制數(shù)為0000000000000110)
②:開關(guān)量狀態(tài)的輸出:MCGS欲控制AI301系列儀表上的的繼電器動用時,向參數(shù)SC寫入對應當?shù)臓顟B(tài)字即可,例如D0、D1、D2、D3、D6、D7為繼電器輸出,D4、D5、D6、D8、D9為開關(guān)量輸入,正常工作狀態(tài)時D5和D8接通,現(xiàn)需要使D0、D1、D3、D7繼電器接通其余端口保持正常工作狀態(tài)不變,應改變必須向參數(shù)編號SC寫入139(二進制:0000000010001011)注意的是,對于用作輸入的端口,則不應寫入1,必須寫入0,否則無論外部的開關(guān)是接通還是斷開,讀回的數(shù)據(jù)都是1。
4、現(xiàn)MCGS已經(jīng)有最新帶幫助文件的驅(qū)動:不需要在策略中編寫內(nèi)部函數(shù)來實現(xiàn)讀寫參數(shù)代號26以后的數(shù)據(jù),可以直接在通道中讀寫(R0~R5AH),每個通道所對應的參數(shù)意義請參照宇電AIBUS通訊協(xié)議V7.0說明.
四、結(jié)語:
宇電發(fā)展至今,自己開發(fā)上位機軟件,功能強大,并與多家組態(tài)軟件公司合作,如:MCGS、組態(tài)王、力控……等,都能對儀表進行百分之百的操作。
提交
宇電AI溫度控制器在箱式電阻爐的應用
宇電AI-7048D5在玻璃非球面成型機上的應用
基于AIBUS與各PLC之間通訊及與AIFCS計算機系統(tǒng)組建
宇電AI-7048及AI-2070總線式無紙記錄儀在塑料機械上的應用
宇電AI儀表通過無線GPRS來實現(xiàn)遠程數(shù)據(jù)采集